home *** CD-ROM | disk | FTP | other *** search
- 100 open2,8,1,"0:filename.xxxx"
- 110 sys700
- 120 .opt o2
- 130 ;
- 140 r0 = $fb
- 150 r1 = $fd
- 160 ;
- 170 lstnsec = $ff93
- 180 ciout = $ffa8
- 190 unlisten = $ffae
- 200 listen = $ffb1
- 210 clrchn = $ffcc
- 220 ;
- 230 *=$c000
- 240 ;
- 250 jmp start
- 260 ;
- 270 prdev .byte 4
- 280 secaddr .byte 0
- 290 linefeed .byte 0
- 300 xcoord .byte 10
- 310 ycoord .byte 0
- 320 xend .byte 29
- 330 yend .byte 7
- 340 basepage .byte $20
- 350 ;
- 360 start sec
- 370 lda xend
- 380 sbc xcoord
- 390 bcc l1
- 400 sta deltax
- 410 lda yend
- 420 sbc ycoord
- 430 bcs l2
- 440 l1 rts
- 450 ;
- 460 l2 asl a
- 470 asl a
- 480 asl a
- 490 sta rowcount
- 500 ;
- 510 jsr clrchn
- 520 lda prdev
- 530 sta $ba
- 540 jsr listen
- 550 lda secaddr
- 560 sta $b9
- 570 jsr lstnsec
- 580 ;
- 590 lda #8
- 600 jsr ciout
- 610 ;
- 620 lda basepage
- 630 sta main+1
- 640 lda #0
- 650 sta main
- 660 sta pntr
- 670 sta r0
- 680 sta lastrow
- 690 ;
- 700 lda xcoord
- 710 beq l3
- 720 asl a
- 730 rol r0
- 740 asl a
- 750 rol r0
- 760 asl a
- 770 rol r0
- 780 sta main
- 790 lda r0
- 800 adc main+1
- 810 sta main+1
- 820 ;
- 830 l3 ldx ycoord
- 840 beq l5
- 850 l4 clc
- 860 lda #<320
- 870 adc main
- 880 sta main
- 890 lda #>320
- 900 adc main+1
- 910 sta main+1
- 920 dex
- 930 bne l4
- 940 ;
- 950 l5 ldx pntr
- 960 clc
- 970 lda main
- 980 adc src1,x
- 990 sta r0
- 1000 lda main+1
- 1010 adc src1+1,x
- 1020 sta r0+1
- 1030 lda main
- 1040 adc src2,x
- 1050 sta r1
- 1060 lda main+1
- 1070 adc src2+1,x
- 1080 sta r1+1
- 1090 txa
- 1100 inx
- 1110 inx
- 1120 stx pntr
- 1130 ;
- 1140 lsr a
- 1150 tax
- 1160 lda ctbytes,x
- 1170 sta trybyte
- 1180 ;
- 1190 lda deltax
- 1200 sta colcount
- 1210 ;
- 1220 m1 ldx #0
- 1230 stx r0index
- 1240 stx r1index
- 1250 m2 cpx trybyte
- 1260 bcs m3
- 1270 ldy r0index
- 1280 lda (r0),y
- 1290 inc r0index
- 1300 bne m5
- 1310 m3 bit lastrow
- 1320 bpl m4
- 1330 lda #0
- 1340 beq m5
- 1350 m4 ldy r1index
- 1360 lda (r1),y
- 1370 inc r1index
- 1380 m5 sta buffer,x
- 1390 inx
- 1400 cpx #7
- 1410 bne m2
- 1420 clc
- 1430 lda #8
- 1440 adc r0
- 1450 sta r0
- 1460 bcc nc1
- 1470 inc r0+1
- 1480 clc
- 1490 ;
- 1500 nc1 lda #8
- 1510 adc r1
- 1520 sta r1
- 1530 bcc nc2
- 1540 inc r1+1
- 1550 ;
- 1560 nc2 ldy #8
- 1570 rl1 ldx #6
- 1580 lda #1
- 1590 rl2 rol buffer,x
- 1600 rol a
- 1610 dex
- 1620 bpl rl2
- 1630 jsr ciout
- 1640 dey
- 1650 bne rl1
- 1660 ;
- 1670 dec colcount
- 1680 bpl m1
- 1690 ;
- 1700 lda #13
- 1710 jsr ciout
- 1720 lda linefeed
- 1730 beq nolf
- 1740 jsr ciout
- 1750 ;
- 1760 nolf lda pntr
- 1770 cmp #16
- 1780 bne dra
- 1790 lda #0
- 1800 sta pntr
- 1810 clc
- 1820 lda #<2240
- 1830 adc main
- 1840 sta main
- 1850 lda #>2240
- 1860 adc main+1
- 1870 sta main+1
- 1880 ;
- 1890 dra lda lastrow
- 1900 bmi done
- 1910 ;
- 1920 lda rowcount
- 1930 sec
- 1940 sbc #7
- 1950 sta rowcount
- 1960 bcs notdone
- 1970 dec lastrow
- 1980 notdone jmp l5
- 1990 ;
- 2000 done lda #15
- 2010 jsr ciout
- 2020 jsr unlisten
- 2030 jmp clrchn
- 2040 ;
- 2050 src1 .word 0, 7, 326, 645
- 2060 .word 964, 1283, 1602, 1921
- 2070 ;
- 2080 src2 .word 0, 320, 640, 960
- 2090 .word 1280, 1600, 1920, 1920
- 2100 ;
- 2110 ctbytes .byte 7,1,2,3,4,5,6,7
- 2120 ;
- 2130 trybyte *=*+1
- 2140 buffer *=*+7
- 2150 rowcount *=*+1
- 2160 pntr *=*+1
- 2170 colcount *=*+1
- 2180 r0index *=*+1
- 2190 r1index *=*+1
- 2200 main *=*+2
- 2210 deltax *=*+1
- 2220 lastrow *=*+1
- 0
-